// pages/securityView/securityView.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    password: '',
    newPassword1: '',
    newPassword2: '',
    mobile: '',
    BASE_URL: 'http://127.0.0.1:9100/api',
  },

  /**
   * 生命周期函数--监听页面加载
   */
  async onLoad() {
    wx.showLoading({
      title: '加载中...',
    });
    try {
      await this.getUserInfo();
    } catch (error) {
      console.error('获取用户信息时出错:', error);
      wx.showToast({
        title: '请求失败',
        icon: 'none',
      });
    } finally {
      wx.hideLoading();
    }
  },
  // 获取用户信息
  async getUserInfo() {
    const app = getApp();
    const {
      userId,
      token
    } = app.globalData;

    if (!userId) {
      wx.showToast({
        title: '用户 ID 为空，请先登录',
        icon: 'none'
      });
      return;
    }

    const url = `${this.data.BASE_URL}/user/detail?userId=${userId}`;
    try {
      const res = await this.requestAsync(url, 'GET', {
        'TOKEN': token,
        'Content-Type': 'application/x-www-form-urlencoded',
      });
      if (res.data.code === 200) {
        const data = res.data.data;
        this.setData({
          mobile: data.mobile || '',
        });
      } else {
        wx.showToast({
          title: '获取用户信息失败',
          icon: 'none'
        });
      }
    } catch (error) {
      console.error('获取用户信息请求出错:', error);
      wx.showToast({
        title: '请求失败',
        icon: 'none'
      });
    }
  },

  // 绑定手机
  handleBindMobile() {
    wx.showToast({
      title: '功能开发中',
      icon: 'none'
    });
  },

  // 输入当前密码
  onPasswordInput(e) {
    this.setData({
      password: e.detail.value,
    });
  },

  // 输入新密码
  onNewPassword1Input(e) {
    this.setData({
      newPassword1: e.detail.value,
    });
  },

  // 确认新密码
  onNewPassword2Input(e) {
    this.setData({
      newPassword2: e.detail.value,
    });
  },

  // 修改密码
  async handleUpdatePwd() {
    const {
      password,
      newPassword1,
      newPassword2
    } = this.data;
    if (!password || !newPassword1 || !newPassword2) {
      wx.showToast({
        title: '不能为空',
        icon: 'none'
      });
      return;
    }
    if (newPassword1 !== newPassword2) {
      wx.showToast({
        title: '密码不一致',
        icon: 'none'
      });
      return;
    }

    const app = getApp();
    const {
      userId,
      token
    } = app.globalData;
    const url = `${this.data.BASE_URL}/user/updatePwd`;
    const formData = {
      userId,
      password,
      newPassword: newPassword1,
    };

    try {
      const res = await this.requestAsync(url, 'POST', {
        'TOKEN': token,
        'Content-Type': 'application/x-www-form-urlencoded',
      }, formData);
      if (res.data.code === 200) {
        wx.showToast({
          title: '修改成功',
          icon: 'success',
        });
      } else {
        wx.showToast({
          title: res.data.msg || '修改失败',
          icon: 'none',
        });
      }
    } catch (error) {
      console.error('修改密码请求出错:', error);
      wx.showToast({
        title: '请求失败',
        icon: 'none',
      });
    }
  },

  requestAsync(url, method, header = {}, data = {}) {
    return new Promise((resolve, reject) => {
      wx.request({
        url,
        method,
        header,
        data,
        success: resolve,
        fail: reject,
      });
    });
  },


  // 新增返回方法
  goBack() {
    wx.navigateBack({
      delta: 1 // 返回上一级页面
    });
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})